Управление автомонтированием через FreeIPA UI

Управляя рабочими станциями в домене FreeIPA администраторы могут настраивать карты монтирования централизованно. Работает этот механизм следующим образом:

  • Утилита automount поддерживает извлечение информации через механизм NSS

  • В файле /etc/auto.master по умолчанию присутствует запись +auto.master, которая указывает на то, что в главную карту должно включаться содержимое карты с именем auto.master через механизм NSS.

  • В файле /etc/nsswitch.conf в строке «automount: sss» в качестве источника для automount указан модуль sss, который извлекает ее путем обращения к соответствующему ответчику службы SSSD.

  • Служба SSSD извлекает из домена карты автоматического монтирования для одной конкретной локации, имя которой указано параметром ipa_automount_location в конфигурационном файле /etc/sssd/sssd.conf секции domain.

В качестве инструмента применения и автоматизации настроек автомонтирования общих ресурсов на конечных клиентских машинах используется утилита ipa-client-automount.

Далее приведены примеры настройки для использования централизованных карт монтирования общих ресурсов через FreeIPA UI.

Создание расположения (локации) автомонтирования

Расположение автомонтирования (англ. automount location) – контейнер для хранения карт монтирования. С помощью расположений (локаций) можно создать изолированные пространства имен распределенной файловой системы для разных категорий рабочих станций. Локации автомонтирования используются для того, чтобы определить для групп компьютеров разные настройки автомонтирования, а значит и разные условия доступа к общим ресурсам.

В интерфейсе FreeIPA список существующих локаций размещён в Сетевые службы → Автомонтирование (Network Services → Automount). По умолчанию в домене средствами FreeIPA создаётся расположение default.

../../../../_images/loclist.png

Рисунок 31 Список локаций автомонтирования

Создание новой локации осужествляется по кнопке «Add». Для этого достаточно указать название новой локации.

../../../../_images/locadd.png

Рисунок 32 Создание локации testlocation

Такой сущности как «расположение автомонтирования» в утилите automount нет, это доработка со стороны FreeIPA и SSSD. Информация о локациях автомонтирования находится в LDAP в разделе cn=automount,dc=example,dc=com.

../../../../_images/locldap.png

Рисунок 33 LDAP-записи о локациях

Создание и настройка карт монтирования

Внутри расположения, по умолчанию, есть два списка соответствия автомонтирования. Списки соответствия также называют картами монтирования. Главным списком (картой) является auto.master, ключи этого списка будут включены в главную карту монтирования на рабочей станции пользователя. Имя auto.master является предопределенным, т.к. на рабочих станциях пользователей в главной карте /etc/auto.master по умолчанию присутствует строка «+auto.master». Если вы удалите эту карту по ошибке, то ее можно создать вручную, главное – сохранить тоже самое имя для этой карты. Подробнее о картах монтирования см. automount_maps.

По нажатию на одну из локаций в списке Сетевые службы → Автомонтирование выводится список карт монтирования, этой локации. Пример, для вновь созданной локации testlocation:

../../../../_images/locmaps.png

Рисунок 34 Список карт монтирования в локации testlocation

Создание новой карты монтирования осуществляется по кнопке «Add». Карты в интерфейсе FreeIPA могут быть 2 типов – прямые и косвенные (см. automount_maps). Обратите внимание, что такое деление карт монтирования в некоторой степени условное по следующим причинам: * При добавлении «прямой» карты интерфейс FreeIPA не создаст ключ прямого монтирования «/-» в главной карте auto.master, таким образом карта создаётся в «вакууме» и необходимо будет вручную делать на неё ссылку в той карте которой необходимо (в самом простом варианте – auto.master). То есть с помощью этого интерфейса можно добавить не «прямые карты», а карты, на который не указывают никакие ключи. * При добавлении «непрямой» карты допускается использовать ключ «/-» и указать в качестве родительской карты auto.master (если оставить соответствующее поле пустым), в этом случае будет добавлена карта прямого монтирования.

Поэтому предлагается относиться к этому переключателю FreeIPA UI иначе: он позволяет создать карту без ссылок (значение «прямой») или создать карту и сделать запись ключ-значение в родительской карте (иначе – ссылку) на создаваемую карту.

../../../../_images/mapdiradd.png

Рисунок 35 Создание прямой карты монтирования testdirectmap

../../../../_images/mapdiradd2.png

Рисунок 36 Создание прямой карты монтирования testdirectmap, добавление ссылки

../../../../_images/mapindir.png

Рисунок 37 Создание непрямой карты монтирования testindirectmap на auto.master

../../../../_images/mapindir2.png

Рисунок 38 Создание непрямой карты монтирования testindirectmap на auto.master

Примечание

Создание непрямых карт монтирования через FreeIPA UI множественной вложенности в текущей версии продукта может приводить к ошибкам на уровне службы autofs при попытке найти информацию в LDAP по ссылке -fstype=autofs ldap:<mapname>.

Таким образом, рекомендуется в текущей версии продукта пользоваться прямыми картами монтирования, который включаются в auto.master с помощью ссылки /-.

Создание и настройка точек монтирования

Подключение общих ресурсов с файловых серверов SMB настраивается на этапе создания точек монтирования. При добавлении общей папки, назначается ключ монтирования, как путь к директории на клиентской машине (через неё пользователь будет получать доступ к удалённой папке) и настройки (флаги) для запуска утилиты mount (поле mount information). После применения на клиенте утилиты ipa-client-automount локации, содержащей карту монтирования с этой точкой монтирования создается ловушка монтирования, и при попытке пользователя открыть директорию служба autofs вызывает утилиту mount с флагами, указанными в поле mount information. Подробнее о возможных настройках см. man autofs, man automount, man mount.

Для примера создадим точку монтирования в прямой карте testdirectmap:

  • Ключ монтирования – /test. Таким образом, при применении автомонтирования удалённая папка будет доступна с клиента по пути test.

  • Настройки монтирования – -fstype=cifs,user,sec=krb5i,cruid=$UID,uid=$UID,gid=$UID ://smb01.testpool01/myfolder. Разбор настроек: * Из -fstype=cifs будет собрано mount -t cifs * Опции user,sec=krb5i,cruid=$UID,uid=$UID,gid=$UID проброшено в флаг mount -o user,sec=krb5i,cruid=$UID,uid=$UID,gid=$UID. * ://smb01.testpool01/myfolder – путь к физической директории на файловом сервере, где smb01.testpool01 это имя файлового сервера в локальной сети, а /myfolder – путь к директории.

Предварительно, перед созданием точек монтирования на физические директории стоит настроить сами физические директории через интерфейс ALD Pro (см. folder_server_configuration).

Примечание

Обратите внимание что путь к директории не абсолютный относительно корня файлового сервера, а относительно настроек samba-сервера, которые прописывают префикс-директорию на файловом сервере, по умолчанию, указаны в /etc/samba/smb.conf и /etc/samba/share.conf. По умолчанию, общие папки создаются в /opt/samba_shares.

Создадим 2 точки монтирования на одну и ту же директорию.

../../../../_images/point1.png

Рисунок 39 Создание точки монтирования в карту testdirectmap в /test

../../../../_images/point2.png

Рисунок 40 Создание точки монтирования в карту testdirectmap в /testindir11/test

Таким образом на клиентской машине должно будет появится 2 новых ловушки монтирования по указанным путям. В директории на файловом сервере лежит файл file и папка test.

../../../../_images/point3.png

Рисунок 41 Наполнение директории на файловом сервере

Применение настроек автомонтирования на клиентской машине

На данном этапе вся информация о картах монтирования, точках и т.п расположена в LDAP и необходимо данные настройки использовать на клиентской машине, для того, чтобы пользователь мог получить доступ к удалённым папкам через точки монтирования. Для этого используется утилита ipa-client-automount, которая принимает флаг --location. Необходимо использовать локацию, в которой были ранее настроены точки и карты монтирования (по умолчанию это default, в случае данного примера – newloc).

Примечание

Использование утилиты вручную вполне допускается администраторами ALD Pro для точечных решений, однако для масштабных инфраструктур на десятки, сотни и тп. клиентов рекоммендуется использовать параметр ГП, о котором пойдёт речь в следующем разделе.

Если рабочая станция была ранее настроена на работу с другой локацией, сначала нужно выполнить удаление настроек, а затем выполнить присоединение к требуемой локации:

root@client01:/# ipa-client-automount --uninstall
Restoring configuration
root@client01:/# ipa-client-automount --location newloc
Searching for IPA server...
IPA server: DNS discovery
Location: newloc
Continue to configure the system with these values? [no]: yew
Configured /etc/default/nfs-common
Configured /etc/idmapd.conf
Restarting sssd, waiting for it to become available.
Started autofs

Служба autofs будет автоматически перезапущена, поэтому на каталоги будут установлены ловушки монтирования:

root@client01:/# findmnt
TARGET                       SOURCE        FSTYPE     OPTIONS
...
├─/testindir11/test          testindirect  autofs     rw,relatime,fd=6,pgrp=5999,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=73026
├─/test_point                testdirectmap autofs     rw,relatime,fd=6,pgrp=5999,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=73026

Теперь при попытке получить доступ к содержимому директории /test_point произойдёт запуск утилиты mount (о чём будет запись в /var/log/syslog). В качестве credentials будут использованы UID и TGT-билет того пользователя, под которым залогинился пользователь. Например пользователь root c $UID = 0 не получит доступ к содержимому директории, поскольку на него не выписан kerberos-билет, а также на smb файловом сервере его нет в списке допущенных к содержимому папки:

root@client01:/# cd test_point/
bash: cd: test_point/: Нет такого файла или каталога
../../../../_images/smbdir1.png

Рисунок 42 Настройки доступов папки на файловом сервере

В списке допущенных есть только пользователь admin, который действительно может получить доступ к папке согласно настройкам доступов папки, заданным ранее в ALD Pro.

admin@client01:/$ cd test_point/
admin@client01:/test_point$ ls -la
итого 4
drwxr-xr-x  2 admin admins    0 июл  1 09:24 .
drwxr-xr-x 27 root  root   4096 июл  1 09:23 ..
-rwxr-xr-x  1 admin admins    0 июл  1 09:23 file
drwxr-xr-x  2 admin admins    0 июл  1 09:24 test

Параметр групповой политики «Служба автомонтирования»

С версии 3.0 ALD Pro в официальной комплектации продукта появляется параметр компьютера «Служба автомонтирования» для групповых политик. Параметр позволяет настроить автомонтирование общих samba-папок на клиентской рабочей станции AstraLinux. Базовая задача параметра – запустить ipa-client-automount --location <LOC>.

Основные сценарии использования параметра – применение и сброс локации автомонтирования для подразделений, содержащих компьютеры. При применении локации на каждый компьютер подразделения применяются применены ловушки монтирования, ведущие к директориям на файловых серверах. Доступ к содержимому папок осуществляется исходя из разрешений, выданных shared-директориям на пользователей или группы пользователей. Все пользователи видят ловушки монтирования на клиентской машине, но доступ пользователя к каждой папке, скрывающейся за ловушкой, проверяется отдельно.

Локация хранится в конфигурационном файле настроек sssd (/etc/sssd/sssd.conf) в ключе ipa_automount_location. Для проверки корректности настройки автомонтирования в терминале можно воспользовать командой findmnt -t autofs, которая отображает все точки монтирования в системе. В списке содержатся также находятся и ловушки монтирования, которые настроены в картах монтирования выбранной ранее локации.

Тип параметра – простой.

Поле «Локация» содержит название локации автомонтирования. Название локации задаётся при её создании одим из следующих способов:

  • Портала управления FreeIPA (Сетевые службы → Автомонтирование → Расположение автомонтирования). Подробнее о том, как использовать FreeIPA для настройки автомонтирования см. automount_freeipa_comfiguration.

  • С помощью утилиты ipa. Подробнее об этом способе можно узнать, введя в терминале запущенного контроллера домена команду ipa help automount.

Поле «Разрешено использование» включает работу с указанной локацией. Допускается установка в поле одного из следующих значений:

  • true - Включить автомонтирование и применить локацию (по умолчанию).

  • false - Выключить автомотирование и отключить локацию.

Отключение параметра (перевод атрибута «Состояние» в состояние «Выключено») не приведет к отключению автомонтирования в системе. Для фактического выключения локации необходимо оставить параметр активным, при этом для локации установить атрибут «Разрешено использование» в значение «false» (systemd-процесс autofs отключен).

Важно обратить внимание, что при удалении локации, которая используется в объекте групповой политики, содержащем параметр «Служба автомонтирования», через портал управления ALD Pro или 389ds, локации, ловушки и все прочие настройки автомонтирования на компьютерах подразделения сброшены не будут.

Применение данного параметра групповой политики подчиняется стандартным механизмам групповых политик (см. руководство администратора). Для конфигурации созданной ранее (см. automount_client_machine) создаётся групповая политика с параметром «Служба Автомонтирования» и соответствующими аргументами.

../../../../_images/automount_gp.png

Рисунок 43 Настройки параметра ГП

По нажатию на кнопку «Применить» групповая политика сохраняется и на связанных с подразделением клиентах она будет применена по таймеру. Можно воспользоваться форсированным применением групповых политик на конкретной машине с помощью команды aldpro-gpupdate --gp. В результате на клиенте будет применена та локация, которая была указана на портале управления в параметре «Локация»:

root@client01:/home/admin# findmnt -t autofs
TARGET                   SOURCE      FSTYPE OPTIONS
/proc/sys/fs/binfmt_misc systemd-1   autofs rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=1387
/myfolderkey             auto.direct autofs rw,relatime,fd=6,pgrp=213686,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=816641
/myffffff                auto.direct autofs rw,relatime,fd=6,pgrp=213686,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=816641
root@client01:/home/admin# aldpro-gpupdate --gp
Форсированное применение групповых политик
...
root@client01:/home/admin# findmnt -t autofs
TARGET                   SOURCE        FSTYPE OPTIONS
/proc/sys/fs/binfmt_misc systemd-1     autofs rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=1387
/testindir11/test        testindirect  autofs rw,relatime,fd=6,pgrp=213936,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=819129
/test_point              testdirectmap autofs rw,relatime,fd=6,pgrp=213936,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=819129